add support for anisotropic values of the flow3D_smooth#1408
add support for anisotropic values of the flow3D_smooth#1408mrariden merged 13 commits intoMouseLand:mainfrom
Conversation
|
@yuriyzubov I think it makes more sense to scale the I'm testing this now |
|
Hi @yuriyzubov please merge my |
## Summary of Changes - Modularization of ring artifact detection code. - Improved logic for artifact removal and filtering. - Enhanced documentation and inline comments for clarity. - Compatibility updates to work with upstream changes from MouseLand. - Bug fixes identified during code review and testing. - Refined parameter settings and default behaviors for artifact processing.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1408 +/- ##
==========================================
- Coverage 42.39% 41.99% -0.41%
==========================================
Files 16 16
Lines 3781 3777 -4
==========================================
- Hits 1603 1586 -17
- Misses 2178 2191 +13 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Coverage appears to have decreased, but the code is actually tested through the CLI tests which also catches CLI argument parsing. Also, anisotropy does not affect the flow smoothing in this implementation. The two are kept separate for consistency with the past code. Resolves #1398 |
There was a problem hiding this comment.
@yuriyzubov @mrariden the main reason to use flow3D_smooth is for the more cross-hatch like artifacts, I think those ring artifacts are rare - did you see them @yuriyzubov ?
There was a problem hiding this comment.
(this could go after the first sentence on flow3D_smooth)
"If you are seeing increased fragmentation along the Z axis, or ring-artifacts, you can specify increased smoothing in the z-axis by providing a list, e.g. flow3D_smooth = [2, 1, 1]."
|
Just a comment here, if |
|
Thanks @yuriyzubov, @mrariden, and @carsen-stringer for picking this up and getting it merged so quickly. @carsen-stringer -- good point about For anyone landing on this issue, here's my practical guidance after working with this extensively on 3D confocal nuclei data (~6:1 Z anisotropy): Recommendation: use
|
Currently
flow3D_smoothonly accepts a single integer, applying the same Gaussian smoothing sigma uniformly across all spatial axes (Z, Y, X).If voxel spacing differs across axes, passing a vector value to the flow3D_smooth parameter (anisotropic smoothing) makes more sense.
Changes
flow3D_smoothnow acceptsintorlist[int](length 3)intis passed, it is broadcast to[val, val, val]for backwards compatibilityExample